Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
RPL supports two modes of operation for maintaining and using Downward routes:                1) Storing Mode: where routers unicast control messages directly to their DAG parents. In turn, RPL routers maintain reachable IPv6 addresses for each of their DAG Children in their routing table. Because intermediate RPL routers store Downward routing state, this mode is called Storing mode.        2) Non-Storing Mode: RPL routers unicast control messages directly to the DAG Root. The control messages also include the IPv6 addresses for the source's DAG Parents. By receiving control messages from each RPL router in the network, the DAG Root obtains information about the DAG topology and can use source routing to deliver datagrams. Unlike Storing mode, intermediate RPL routers in Non-Storing mode do not maintain any Downward routes.        
In most networks deployed today, the mode of operation of choice is non-storing for a number of reasons, such as the absence of routing states on intermediates nodes in the network. Originally, deployments started with delay-tolerant communication and centralized collection or sourcing of data, such as meter networks. However, other network configurations, such as Distributed Automation which requires gateways in the mesh, lead to a new set of requirements and traffic matrices. For instance, not only do nodes need to communicate with each other, but paths in the mesh are required to support bounded delays (e.g., 40 ms).